Skip to content

avoid progress-related hot spot in ValueFlowPassRunner::run()#8369

Merged
firewave merged 1 commit intodanmar:mainfrom
firewave:progress-vf
Apr 9, 2026
Merged

avoid progress-related hot spot in ValueFlowPassRunner::run()#8369
firewave merged 1 commit intodanmar:mainfrom
firewave:progress-vf

Conversation

@firewave
Copy link
Copy Markdown
Collaborator

No description provided.

@firewave

This comment was marked as resolved.

@firewave
Copy link
Copy Markdown
Collaborator Author

firewave commented Mar 23, 2026

valgrind --tool=callgrind bin/testrunner TestIO::testScanfArgument TestIO::testPrintfArgumentVariables

Clang 21 3,916,569,339 -> 3,682,134,530

@firewave
Copy link
Copy Markdown
Collaborator Author

firewave commented Mar 23, 2026

ProgressReporter still has overhead (1,17% of Ir) - this needs to be implemented differently. Also to get rid of the workaround this PR introduced. But should be done in a follow-up.

@firewave
Copy link
Copy Markdown
Collaborator Author

Runtime of valgrind.

local - before
33,66s user 0,74s system 99% cpu 34,689 total

local - after
30,54s user 0,73s system 98% cpu 31,619 total

CI - before

TestIO::testScanfArgument: 45.862s (avg. 45.862s - 1 result(s))
TestIO::testPrintfArgumentVariables: 23.243s (avg. 23.243s - 1 result(s))

CI - after

TestIO::testScanfArgument: 40.13s (avg. 40.13s - 1 result(s))
TestIO::testPrintfArgumentVariables: 20.681s (avg. 20.681s - 1 result(s))

@firewave firewave marked this pull request as ready for review March 27, 2026 18:39
@sonarqubecloud
Copy link
Copy Markdown

@firewave firewave merged commit cc09988 into danmar:main Apr 9, 2026
72 checks passed
@firewave firewave deleted the progress-vf branch April 9, 2026 14:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants